package com.hanbang.maige.code.base.presenter;

import com.hanbang.maige.code.base.view.iview.BaseListView;
import com.hanbang.maige.code.base.view.iview.BaseView;
import com.hanbang.maige.mode.httpresponse.BaseHttpResponse;
import com.hanbang.maige.utils.ui.SnackbarUtil;

import java.util.Map;

/**
 * Created by Administrator on 2016/8/8.
 */

public abstract class BasePresenter<T extends BaseView> {
    public T mvpView;

    /**
     * 作者　　: 李坤
     * 创建时间: 2016/9/22 11:02
     * <p>
     * 方法功能：当P创建的时候 把view也创建
     */

    public void onCreate(T mvpView) {
        this.mvpView = mvpView;
    }

    /**
     * 作者　　: 李坤
     * 创建时间: 2016/9/22 11:02
     * <p>
     * 方法功能：销毁
     */


    public void onDestroy() {
        mvpView = null;
    }

    /**
     * 作者　　: 李坤
     * 创建时间: 2016/9/22 11:02
     * <p>
     * 方法功能：销毁
     */


    public void onLowMemory() {
        mvpView = null;
    }


    /**
     * 作者　　: 李坤
     * 创建时间: 2016/9/22 11:02
     * <p>
     * 方法功能：返回值提示信息
     */

    public void showMsg(BaseHttpResponse result) {
        if (result.isSucceed()) {
            mvpView.showSnackbar(result.getMsg(), SnackbarUtil.Info, false);
        } else if (result.isReturnFaiure()) {
            mvpView.showWarningSnackbar(result.getMsg());
        } else {
            mvpView.showErrorSnackbar(result.getMsg());
        }
    }


    public void addPageData(Map<String, String> map) {
        if (mvpView instanceof BaseListView) {
            map.put("Pageindex", String.valueOf(((BaseListView) mvpView).getPageindex()));
            map.put("PageCount", String.valueOf(((BaseListView) mvpView).getPageCount()));
        }
    }


}
